Data is the hardest part of ML and the most important piece to get right...
Broken data is the most common cause of problems in production ML systems. — Uber
在 Software 2.0 的概念中,資料為機器學習的 第一類公民(First-class citizen),因為一切都始於資料,換句話說,模型並不是魔法,有意義的資料才是關鍵。
那什麼才叫有意義的資料呢? 其特質如下:
而為了使資料的品質提升,我們就得建立良好的 Data Pipeline。
前面提到過 ML Pipeline 是 ML 產品的核心,它指的是實作整個機器學習產品的軟體架構,包含自動化、監控與維護整個 ML 工作流程,也是 MLOps 的關鍵元素。
依照 ML 產品的生命週期可以將 Data Pipeline 需要進行的工作歸納為以下幾點:
*圖片修改自 MLEP — Importance of Data
經由這個流程,我們希望能達到以下目標:
其中特徵工程 (Feature engineering) 可以最大化資料的預測性,而特徵選擇 (Feature selection) 則可以衡量具有預測性的資訊在哪,由於這兩個部分大家比較熟悉,加上內容也比較複雜,所以這次挑戰就暫且不談。
未來幾天我們主要會聊到的內容是定義資料、建立 Baseline、標注與處理資料 (包含資料收集、標注、統一格式)。
以上就是資料部分的主軸啦,那麼明天就讓我們從第一步的定義資料開始討論吧!